#ifndef ORG_WXW0303_SYMBOL_DB_IOUTIL_H
#define ORG_WXW0303_SYMBOL_DB_IOUTIL_H

#include <stdlib.h>

#include <string>

/**
 * 读取文件 filename 的所有内容,追加到 buf 末尾.
 * 当抛出异常时,buf 中追加了已经成功读取的内容.
 */
void read(const char *filename,std::string &buf);

/**
 * 将 [ptr,size) 的全部内容写入到文件 filename 中.
 * 若 filename 不存在,则会创建文件.
 * 若 filename 已经存在,则会清除原来的内容.
 */
void write(const char *filename,const void *ptr,size_t size);
inline void write(const char *filename,const std::string &buf)
{
    write(filename,buf.c_str(),buf.size());
    return ;
}

#endif // ORG_WXW0303_SYMBOL_DB_IOUTIL_H

